package com.hc.controller;


import com.hc.service.UserService;
import com.hc.util.JsonResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.PrintWriter;


//带有Controller注解的类，一般做控制器类（类似Servlet）,一般是被前端通过url访问的
@Controller
@RequestMapping("/userController")
public class UserController {

    public UserController(){
        System.out.println("UserController构造方法被调用");
    }

    //doGet

    UserService userService;

    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    //在此类的任意签名的普通方法，都可以被前端通过url地址访问
    //只需要在此方法前添加@RequestMapping 注解，并指定url地址
    //当前端发送的请求参数名称与此方法的方法形参名称一致时，会自动将请求参数值赋给方法的形参
     //  /userLogin?userName=admin&password=6666
   // @RequestMapping("/userLogin")    //userController/userLogin

    //RequestMethod.GET表示客户端只能以get方式此方法
    //params = {"userName","password"}表示前端必需传递请求参数 userName和password

   // http://localhost:8088/userController/userLogin?username=1212&password=1212

    @RequestMapping(value = "/userLogin",method = RequestMethod.GET,params = {"userName","password"})
    @ResponseBody   //doGet  //doPos
    public JsonResponse userLogin(String userName, String password){  //request.getParameter()
        System.out.println("前端页面传递过来的参数为:"+userName+" "+password);
        //前端发请求给后端--->后端获取请求参数并处理后--->返回一个结果给前端

        //如果要返回json数据给前端，则把方法返回值设置为非void类型,并在方法上添加@ResponseBody 注解
        //@ResponseBody 注解的作用是将方法的返回值转换json传递给前端
        JsonResponse jsonResponse = new JsonResponse();


        boolean b =  userService.validateUser(userName,password);
        if (b){
            jsonResponse.setCode(0);
            jsonResponse.setMsg("验证通过, 您发过来的用户名为:"+userName+"密码为："+password);
        }else{
            jsonResponse.setCode(1);
            jsonResponse.setMsg("账号或密码不正确");
        }


     //   PrintWriter out = reponse.getWiter();
     //   out.print();

        return  jsonResponse;
    }


    /**
    @RequestMapping("/addUser")
    @ResponseBody
    public  JsonResponse addUser(){

    }*/

}
